|
|
unsigned int | size () const |
| | returns the size of the matrix
|
| |
|
void | deallocate () |
| | base for destructor
|
| |
|
| MatrixSparseBandSymmetric () |
| | default constructor
|
| |
|
virtual | ~MatrixSparseBandSymmetric () |
| | default destructor
|
| |
|
void | makeZero () |
| | set all the element to zero
|
| |
|
void | allocate (unsigned int sz, unsigned int diagonals) |
| | allocate the matrix, specifying the number of off diagonal
|
| |
|
void | allocate (unsigned int sz) |
| | allocate the matrix to hold ( sz * sz )
|
| |
|
real * | addr (index_type x, index_type y) const |
| | returns the address of element at (x, y), no allocation is done
|
| |
|
real & | operator() (index_type x, index_type y) |
| | returns the address of element at (x, y), allocating if necessary
|
| |
|
void | scale (real a) |
| | scale the matrix by a scalar factor
|
| |
|
void | addDiagonalBlock (real *M, index_type x, unsigned int sx) const |
| | add the diagonal block ( x, x, x+sx, x+sx ) from this matrix to M
|
| |
|
void | addTriangularBlock (real *M, index_type x, unsigned int sx) const |
| | add the upper triagular block ( x, x, x+sx, x+sx ) from this matrix to M
|
| |
|
void | vecMulAdd (const real *X, real *Y) const |
| | multiplication of a vector: Y = Y + M * X, dim(X) = dim(M)
|
| |
|
void | vecMulAddIso2D (const real *X, real *Y) const |
| | 2D isotropic multiplication of a vector: Y = Y + M * X
|
| |
|
void | vecMulAddIso3D (const real *X, real *Y) const |
| | 3D isotropic multiplication of a vector: Y = Y + M * X
|
| |
|
bool | nonZero () const |
| | true if matrix is non-zero
|
| |
|
unsigned int | nbNonZeroElements () const |
| | number of element which are non-zero
|
| |
|
std::string | what () const |
| | returns a string which a description of the type of matrix
|
| |
|
void | printSparse (std::ostream &) const |
| | printf debug function in sparse mode: i, j : value
|
| |
|
int | bad () const |
| | debug function
|
| |
|
| Matrix () |
| | empty constructor
|
| |
|
virtual | ~Matrix () |
| | empty destructor
|
| |
|
real | value (index_type x, index_type y) const |
| | returns the value of element at (x, y) or zero if not allocated
|
| |
|
void | copyBlock (real *M, index_type x, unsigned int sx, index_type y, unsigned int sy) const |
| | copy the block ( x, y, x+sx, y+sy ) from this matrix into M
|
| |
|
virtual void | prepareForMultiply () |
| | Optional optimization to accelerate multiplications below.
|
| |
|
virtual void | vecMul (const real *X, real *Y) const |
| | Vector multiplication: Y <- M * X, size(X) = size(Y) = size(M)
|
| |
|
virtual real | maxNorm () const |
| | maximum absolute value considering all the elements
|
| |
|
virtual void | printFull (std::ostream &) const |
| | printf debug function in full lines, all columns
|
| |